package javaExer;

public class 反向金字塔 {

    public static void main(String[] args) {

        /*

        思路分析
        1、打印塔            (4-1)*2+1 = 7
        ******* 第1层7个*   (总层数-当前层数)*2+1
        *****   第2层5个*   (4-2)*2+1 = 5
        ***     第3层3个*   (4-3)*2+1 = 3
        *       第4层1个*   (4-4)*2+1 = 1


        2、打印空格
        *******  第1层0个空格    当前层数-1
         *****   第2层1个空格
          ***    第3层2个空格
           *     第4层3个空格

        3、打印空心金字塔
        *     *    第1层5个空心  我们可以发现: 其实只是打印了开始的*与结尾的*
         *   *     第2层3个空心              所有可以使用判断来实现
          * *      第3层1个空心
           *       第4层没有空心

         */

        int length=5;
        for (int i=1;i<length;i++){ //i表示层数

            for (int k=0;k<i-1;k++){
                System.out.print(" ");
            }

            for (int j=1;j<(length-i)*2-1;j++){ //因为是循环是从1开始的 所以需要-1
                if (j==1 || j==(length-i)*2-1)  {
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println("*");
        }
    }
}
